from django.utils import timezone

from . import models


class Coupon(object):

    """ Этот класс представляет купон пользователя """

    def __init__(self, request):

        self.session = request.session


    def add(self, code):

        """ Добавляем купон в сессию пользователя """

        now = timezone.now()

        try:
            coupon = models.Coupon.objects.get(code__iexact=code, valid_from__lte=now,
                                               valid_to__gte=now, active=True)
            self.session['coupon_id'] = coupon.id

        except models.Coupon.DoesNotExist:
            self.session['coupon_id'] = None
